1. Field of the Invention
The present invention relates to data transmission systems and, in particular, to a method and apparatus for extending or contracting the preamble of an information frame processed by a station in a data transmission network.
2. Discussion of the Prior Art
Asynchronous communication between stations in a data transmission network occurs through the transmission of a series, or "frame", of information characters, with adjacent frames being separated by start-stop code patterns. The use of a unique start code pattern ("start delimiter") and a unique stop code pattern ("end delimiter") allows the receiving station to identify the exact beginning and the exact end of each received frame. In many transmission networks, the start delimiter is preceded by a set of characters, commonly referred to as a "preamble", that is used to establish and maintain clock synchronization between the transmitting station and the receiving station.
A particular type of data transmission network is defined by the Fiber Distributed Data Interface (FDDI) protocol. The FDDI protocol is an American National Standards Institute (ANSI) data transmission standard which applies to a 100 Mbit/sec. token ring network that utilizes an optical fiber transmission medium. The FDDI protocol is intended as a high performance interconnection among computers as well as among computers and their associated mass storage subsystems and other peripheral equipment.
Referring to FIG. 1, information is transmitted on an FDDI ring in frames that consist of a sequence of 5-bit characters or "symbols", each symbol representing 4 data bits. Information is typically transmitted in symbol pairs or "bytes". Tokens are used to signify the right to transmit data between stations.
FIG. 1 shows the fields which are used within the FDDI frame and token formats. A preamble field (PA), which consists of a sequence of IDLE line-state symbols, precedes every transmission. The IDLE symbols provide a maximum frequency signal which is used for receive clock synchronization. The Start Delimiter field (SD) consists of a two symbol start delimiter pair which is uniquely recognizable independent of symbol boundaries. As stated above, the Start Delimiter byte establishes the boundaries for the information that follows. The Frame Control field (FC) defines the type of frame being received and its characteristics; it distinguishes synchronous from asynchronous transmission, specifies the length of the address and identifies the type of frame. The Frame Control field uniquely distinguishes a token. The End Delimiter field (ED) consists of two end delimiter symbols and completes a token. The Destination Address (DA) and Source Address (SA) fields are the destination and source addresses of the transmitted frame. The Destination Address field and the Source Address field are both either two bytes long or six bytes long, as determined by the Frame Control field. The Destination Address may be either an individual address or a group address. The Frame Check Sequence field (FCS), which is four bytes long, is a cyclic redundancy check using the American National Standards Institute (ANSI) standard polynomial. The INFORMATION field, as is the case for all fields covered by the Frame Check Sequence field, consists only of data symbols. The End Delimiter field of a frame is one end delimiter symbol (T), which is followed by the Frame Status field (FS) which consists of three control indicator symbols which indicate whether the addressed station has recognized its address, whether the frame has been copied, or whether any station has detected an error in the frame. As shown in FIG. 1, the End Delimiter of a token consists of only a single pair of end delimiter symbols (TT). The "T" followed by three control indicators represents the minimum end delimiter required by the FDDI protocol for a non-token frame. The protocol allows for additional pairs of control symbols in the End Delimiter or an additional odd number of control symbols followed by one last "T" symbol. All conforming implementations must be able to process these extended end delimiters without truncating them. The end delimiter symbol "T" and the two control symbols "R" and "S" are uniquely encoded and distinguishable from either normal data or IDLE symbols.
FIG. 2 shows the component entities necessary for a station to be in compliance with the FDDI protocol. The identified components include a Station Management function (SMT) which is a part of network management that resides in each station on the network to control the overall action of the station to ensure proper operation as a member of the ring. A Physical function (PHY) provides the hardware connection to adjacent stations in the network. A Media Access Control function (MAC) controls access to the transmission medium, transmitting frames to and receiving frames from the Media Access Control functions of other stations.
The Physical function provides the optical fiber hardware components that allow a link from one FDDI station to another ( It should be noted that a Physical Media Dependent portion of the FDDI protocol specifies the opto-mechanical hardware to be used for connection to adjacent nodes; the Physical function standard covers the area from optical characteristics through the symbol or byte wide interface with the MAC.). The Physical function simultaneously receives and transmits information. The Physical function's transmit logic accepts data from the Media Access Control function, converts this data to FDDI symbols and transmits the encoded data stream serially on the medium. The Physical function's receive logic receives the encoded serial data stream from the medium, establishes symbol boundaries based on the recognition of a start delimiter symbol pair and forwards decoded symbols to its associated Media Access Control function.
Additional information regarding the FDD protocol is presented by Floyd E. Ross, "FDDI--an Overview", Digest of Papers, Computer Soc. Intl. Conf., Compcon '87, pp. 434-444, which is hereby incorporated by reference to provide additional background information for the present invention.
The FDDI protocol provides that each Physical function component in an FDDI network include the capability for processing the transmitted symbol stream using a "smoothing function". For historical reasons, the Media Access Control standard does not require stations on the network to receive frames that are preceded by less than six IDLE symbol pairs. Thus, for performance reasons, the "smoothing function" has been added to the Physical function standard so that the Physical function attempts to send a minimum of seven IDLE pairs. This smoothing function is necessary to compensate for the possibility that the preamble of a transmitted frame may not be in compliance with the minimum desired preamble length of seven IDLE symbol pairs; that is, because of frequency variations between stations in the FDDI network, IDLE symbols may be deleted from a frame preamble as a result of multiple traversals of Physical functions in the network. Unconstrained preamble shrinkage can result in loss of frames. Thus, in an attempt to conserve preamble length, the smoothing function absorbs surplus symbols from longer preambles and redistributes them into shorter preambles. This significantly reduces the variance of preamble sizes during long burst transmissions and enhances the probability of an accurate transmission.
The FDDI protocol provides that the smoothing function be capable of "extending" preambles by inserting at least one additional IDLE symbol pair into preambles that are shorter than seven IDLE bytes (fourteen IDLE symbols) This extend capability is reclaimed by "contracting" or deleting excess IDLE symbols from preambles longer than seven IDLE bytes.
FIG. 3 provides a flow chart for one prior art approach to implementation of the FDDI smoothing filter "extend/contract" requirement. In accordance with the flow chart shown in FIG. 3, the smoothing filter first examines bytes to determine whether a new preamble is starting When an IDLE byte is identified, it is assumed to be the start of a new preamble If the smoothing filter identifies an IDLE byte, a counter is incremented. If the counter has not yet reached its preselected maximum (7 in the case of the FDDI protocol), then the next byte is examined to determine whether it is an IDLE byte. If it is not an IDLE byte, then the preamble is extended by inserting an IDLE byte and the smoothing filter begins searching for the beginning of a new preamble. If it is an IDLE byte, then the counter is again incremented. This iterative process continues until the counter reaches its threshold, signifying that a preamble consisting of an acceptable number of IDLE bytes (again, 7 in the case of the FDDI protocol) has traversed the smoothing filter. The next byte is then examined to determine whether it is an IDLE byte. If it is an IDLE byte, then the preamble is contacted to the acceptable number of IDLE bytes by removing an IDLE byte. The smoothing filter then begins searching for the start of a new preamble. If at any time after identification of the first IDLE byte, but before the counter reaches its threshold, the smoothing filter identifies a byte that is not an IDLE byte, then the smoothing filter extends the preamble by inserting an IDLE byte and begins searching for the start of the next preamble.
The above-described smoothing filter flow chart requires excessively complicated logic to implement the function.